package com.huacai.collect.service;

import java.util.List;
import java.util.Map;

import com.huacai.blog.domain.MyBlogData;
import com.huacai.collect.domain.Collect;

/**
 * 博客收藏Service接口
 *
 * @author lundao
 * @date 2025-09-14
 */
public interface ICollectService
{
    /**
     * 根据userId和blogId删除博客收藏
     * @param blogId
     * @return
     */
    int deleteCollectByUserIdAndBlogId(String blogId);
    /**
     * 查询博客收藏
     *
     * @param collectId 博客收藏主键
     * @return 博客收藏
     */
    public Collect selectCollectByCollectId(String collectId);
    /**
     * 判断当前用户有没有对某个博客收藏过
     */
    public int selectCollectByUserIdAndBlogId(String blogId);
    /**
     * 查询博客收藏列表
     *
     * @param collect 博客收藏
     * @return 博客收藏集合
     */
    public List<Collect> selectCollectList(Collect collect);
    /**
     * 根据博客ID查询某个博客被收藏的次数
     */
    public int selectCollectCount(String blogId);
    /**
     * 新增博客收藏
     *
     * @param collect 博客收藏
     * @return 结果
     */
    public int insertCollect(Collect collect);

    /**
     * 批量新增博客收藏
     *
     * @param collects 博客收藏List
     * @return 结果
     */
    public int batchInsertCollect(List<Collect> collects);

    /**
     * 修改博客收藏
     *
     * @param collect 博客收藏
     * @return 结果
     */
    public int updateCollect(Collect collect);

    /**
     * 批量删除博客收藏
     *
     * @param collectIds 需要删除的博客收藏主键集合
     * @return 结果
     */
    public int deleteCollectByCollectIds(String[] collectIds);

    /**
     * 删除博客收藏信息
     *
     * @param collectId 博客收藏主键
     * @return 结果
     */
    public int deleteCollectByCollectId(String collectId);




    /**
     * 批量查询收藏数
     */
    Map<String, Integer> batchSelectCollectCount(List<String> blogIds);

    MyBlogData selectBlogDataByUserId();
}
